LoadRetainData-Baustein

Kurz-Information

Name

LoadRetainData

→POE-Typ

→Funktion

Kategorie

Weitere Systembausteine, Persistenz-Bausteine, Baustein mit interner Fehlerdiagnose

Grafische Schnittstelle

Verfügbar ab

  • Version 1.92.0 (für Neuron Power Engineer) und Version 3.8.2 des →Laufzeitsystems

  • Version 3.2.2 (für Bibliothek Standard) – Erweiterung: Ergebniswert hinzugefügt, Datentyp für filename von STRING[50] auf STRING geändert, breitere Schnittstelle, neue Ablage im Unterordner Persistence

(Warnung) Dieser Baustein wird für die Plattform WindowsX86 (inkl. der integrierten SPS unter Windows) unterstützt.
Außerdem wird dieser Baustein für diese Zielsysteme unterstützt: →Raspberry Pi, →Revolution Pi

Funktionalität

Der Baustein ladet Werte aus einer CSV-Datei für →gepufferte Variablen.

Einschränkung

  • STRING-Werte werden nur bis zum 254. Zeichen geladen. Zeichenfolgen > 254 Zeichen werden entsprechend abgeschnitten.

  • Die Werte für gepufferte →Funktionsbaustein-Instanzen werden nicht geladen.

Verwendungsempfehlung

Verwenden Sie den Baustein nur einmal in einem →Programm und am Anfang des Zyklus der Anwendung (= im Init-Zustand). Siehe Beispiel unten.
Grund: Abhängig von der Anzahl der Variablen und vom Speichermedium des Zielsystems kann das Laden der Werte einen längeren Zeitraum in Anspruch nehmen. Falls Sie den Baustein daher öfter in der Anwendung aufrufen, erhöht sich die Ausführungsdauer der Anwendung mit jedem Aufruf.

Eingänge, Ausgänge, Ergebniswert

 

Bezeichner

→Datentyp

Beschreibung

Eingänge:

fileName

STRING

Name der Datei, in die die Werte der Variablen gespeichert werden
Ohne einer Belegung dieses Eingangs wird die Datei persistence.csv verwendet.
Standardmäßig wird die Datei im Unterverzeichnis PLC des Laufzeitsystem-Installationsverzeichnisses gesucht. Falls Sie die Ablage in einem anderem Verzeichnis bevorzugen, kontaktieren Sie Ihren Systemintegrator und bitten Sie darum, die Konfiguration des Systemdiensts zu ändern.

Ausgänge:

nrNonLoaded

INT

Anzahl der Variablen, die nicht geladen werden konnten.

nrMoreRetainVars

INT

Anzahl der Variablen mit einer RETAIN-Markierung in der Anwendung, für die aber keine Werte aus der Datei geladen wurden
Die Werte, die für nrMoreRetainVars ausgegeben werden, verursachen keinen Fehler.

RC

UDINT

Ergebniscode:

0: OK

2: Fehler während des Ladens der Datei

3: Fehler während der Initialisierung oder keine Variablen mit RETAIN-Markierung vorhanden

4: Fehler während des Öffnens der Datei

6: kein gültiger Dateiname

7: Werte einiger Variablen konnten nicht geladen werden (siehe nrNonLoaded)

8: Syntaxfehler in der Datei

9: Systemdienst nicht auf dem Zielsystem geladen

Ergebniswert:

 –

UDINT

liefert den Ergebniscode von RC

Der Eingang EN und der Ausgang ENO sind für den →Aufruf des Bausteins verfügbar. Siehe "Ausführungssteuerung: EN, ENO" für Informationen zum Eingang EN und zum Ausgang ENO.

Informieren Sie sich unter:

Interne Fehlerdiagnose für Baustein

Der Baustein prüft die folgenden Fehlerfälle:

  • Der Systemdienst wurde nicht geladen.

  • Der Ergebniscode des Funktionsaufrufs entspricht einem Fehler (Ausgang RC ≠ Wert 0).

In einem solchen Fehlerfall wird der Ausgang ENO des Bausteins auf den Wert FALSE (oder eine Entsprechung) zurückgesetzt.

Beispiel für Verwendung im ST-Editor

Die Werte der im Abschnitt VAR RETAIN ... END_VAR deklarierten Variablen werden im Ausgangszustand (= Zustand Init) geladen und mit Hilfe des RTSCycleInfo-Bausteins im Endzustand gespeichert.
(Info) Lesen Sie unter RTSCycleInfo-Baustein nach, zu welchem Zeitpunkt der Initialisierungs- bzw. der Term-Zustand ausgeführt werden.

PROGRAM ExampleLoadSaveRetainData
  VAR RETAIN
    Test1    : BOOL;
    Test2    : INT;
    Test3    : REAL;
    Test4    : STRING[50];
  END_VAR
  VAR
    init          : BOOL;
    term          : BOOL;
    loadRetainRC  : UDINT;
    loadRetainENO : BOOL;
    saveRetainRC  : UDINT;
    saveRetainENO : BOOL;
    nrNonLoaded   : INT;
  END_VAR
  RTSCycleInfo(
    Init=>init,
    Term=>term
  );
  LoadRetainData(
    EN:=init,
    fileName:='Persistent.csv',
    nrNonLoaded=>nrNonLoaded,
    RC=>loadRetainRC,
    ENO=>loadRetainENO
  );
  SaveRetainData(
    EN:=term,
    fileName:='Persistent.csv',
    RC=>saveRetainRC,
    ENO=>saveRetainENO
  );
END_PROGRAM

Bei der Erstellung Ihrer Anwendung im ST-Editor erstellen Sie den Aufruf eines Bausteins, indem Sie den laut Syntax erforderlichen Text eintippen oder die Inhaltshilfe verwenden.